package com.wicket.okrapp.integration.dto;

import com.wicket.okrapp.common.dto.BaseDto;
import io.swagger.annotations.ApiModelProperty;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;

import lombok.Data;

/**
 * @desc QueryTargetSpectacularCycleInfoDetailRespDto
 * @使用场景
 */
@Data
public class QueryTargetSpectacularCycleInfoDetailRespDto
  extends BaseDto
  implements Serializable {

  /**
   * 周期ID
   */
  @ApiModelProperty("周期ID")
  private String cycleId;

  /**
   * 周期名称
   */
  @ApiModelProperty("周期名称")
  private String cycleStandardName;

  /**
   * 更新周期周期类型
   */
  @ApiModelProperty("更新周期周期类型")
  private String updateCycleTypeCode;

  /**
   * 被评对象目标周期ID
   */
  @ApiModelProperty("被评对象目标周期ID")
  private String evaObjTargetCycleId;

  /**
   * 父子中周期类型 PARENT_CYCLE:父周期 MID_CYCLE:中期 SUB_CYCLE:子周期 PROCESS_CYCLE:过程周期
   */
  @ApiModelProperty("父子中周期类型")
  private String parentSubMidCycleType;

  /**
   * 冗余评价主题ID
   */
  @ApiModelProperty("冗余评价主题ID")
  private String evaluationSubjectId;

  /**
   * 是否有过程周期 TRUE:是 FALSE:否
   */
  @ApiModelProperty("是否有过程周期")
  private String isHaveProcessCycle;

  /**
   * 标志性成果大屏展示版本 ACHIVE_MINI_VERSION:标志性成果mini版 ACHIVE_BASIC_VERSION:标志性成果基础版 ACHIVE_ADVANCED_VERSION:标志性成果高级版
   */
  @ApiModelProperty("标志性成果大屏展示版本")
  private String milestoneAchievementsDisplayVersion;

  /**
   * 标志性成果内容展示类型 DISPLAY_ONE_TARGET_CATE:一级目标分类 DISPLAY_CATE_TREE:目标分类树
   */
  @ApiModelProperty("标志性成果内容展示类型")
  private String achievementsConDisplayedType;

  /**
   * 完成率算法类型 LOW_TARGET_CONTENT_STATIC:统计向下目标内容 ROOT_OBJECTIVE_STATIC:统计一级指标 LAST_OBJECTIVE_STATIC:统计末级指标
   */
  @ApiModelProperty("完成率算法类型")
  private String completionRateAlgorithmType;

  /**
   * 是否开启主管人工审核 TRUE:是 FALSE:否
   */
  @ApiModelProperty("是否开启主管人工审核")
  private String isOpenAudit;

  /**
   * 是否开启主观评价 TRUE:是 FALSE:否
   */
  @ApiModelProperty("是否开启主观评价")
  private String isSubjectiveScoring;

  /**
   * 是否开启预算 TRUE:是 FALSE:否
   */
  @ApiModelProperty("是否开启预算")
  private String isOpenBudget;

  /**
   * 预算大屏展示版本 BUDGET_MINI_VERSION:预算mini版 BUDGET_BASIC_VERSION:预算基础版 BUDGET_ADVANCED_VERSION:预算高级版
   */
  @ApiModelProperty("预算大屏展示版本")
  private String budgetDisplayVersion;

  /**
   * 预算金额展示类型 DISPLAY_ONE_TARGET_CATE:一级目标分类 DISPLAY_CATE_TREE:目标分类树
   */
  @ApiModelProperty("预算金额展示类型")
  private String budgetDisplayType;

  /**
   * 是否开启资金使用率图表 TRUE:是 FALSE:否
   */
  @ApiModelProperty("是否开启资金使用率图表")
  private String isOpenCapitalUtilizationRate;

  /**
   * 部门汇报任务数算法类型
   */
  @ApiModelProperty("部门汇报任务数算法类型")
  private String deptReportTaskAlgorithmType;

  /**
   * 高层导出规划数据开关
   */
  @ApiModelProperty("高层导出规划数据开关")
  private String highPlanningDataExport;

  /**
   * 高层导出汇报数据开关
   */
  @ApiModelProperty("高层导出汇报数据开关")
  private String highReportDataExport;

  /**
   * 指标展示与导出数据层级
   */
  @ApiModelProperty("指标展示与导出数据层级")
  private String objectiveDisplayAndExportData;

  @ApiModelProperty("文案列表")
  private List<CopywritingDto> copywritingList = new ArrayList<>();

}
